System and methods for adaptive cruise control based on user defined parameters

ABSTRACT

Systems and methods for adaptive cruise control based on user defined parameters are disclosed. An example disclosed vehicle includes a GPS receiver configured to provide a location of the vehicle, an adaptive cruise control; and a cruise control adjuster. In the example cruise control adjuster is configured to generate an action when a cruise control event is defined for the location. In the disclosed example the cruise control event is based on past changes to the adaptive cruise control at the location. The example cruise control adjuster is also configured to apply the action to the adaptive cruise control to change how the adaptive cruise control controls the vehicle.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/083,779, filed on Mar. 29, 2016. The prior application is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to adaptive cruise control and,more specifically, systems and methods for adaptive cruise control basedon user defined parameters.

BACKGROUND

More and more, vehicles include adaptive cruise control to maintain adesired speed manually set by a driver. The adaptive cruise control usesRADAR or other range detection sensors to detect a slower vehicle aheadand reduces the speed of the vehicle so that the vehicle maintains asafe following distance behind the slower vehicle. Currently, theadaptive cruise control is manually adjusted by the driver when trafficdensity, the speed limit, the weather or road conditions change.

SUMMARY

The appended claims define this application. The present disclosuresummarizes aspects of the embodiments and should not be used to limitthe claims. Other implementations are contemplated in accordance withthe techniques described herein, as will be apparent to one havingordinary skill in the art upon examination of the following drawings anddetailed description, and these implementations are intended to bewithin the scope of this application.

Example embodiments of systems and methods for adaptive cruise controlbased on user defined parameters are disclosed. An example disclosedvehicle includes a GPS receiver configured to provide a location of thevehicle, an adaptive cruise control, and a cruise control adjuster. Inthe example cruise control adjuster is configured to generate an actionwhen a cruise control event is defined for the location. In thedisclosed example the cruise control event is based on past changes tothe adaptive cruise control at the location. The example cruise controladjuster is also configured to apply the action to the adaptive cruisecontrol to change how the adaptive cruise control controls the vehicle.

An example method of controlling a vehicle involves monitoring, by a GPSreceiver, a location of the vehicle. The example method also involvesgenerating, by a processor, an action when a cruise control event isdefined for the location, the cruise control event based on past changesto an adaptive cruise control at the location. The example method alsoinvolves applying the action to the adaptive cruise control to changehow the adaptive cruise control controls the vehicle.

An example tangible computer readable medium comprises instructionsthat, when executed, cause a vehicle to monitor, with a GPS receiver, alocation of the vehicle. The example instructions also cause the vehicleto generate an action when a cruise control event is defined for thelocation. The example cruise control event is based on past changes toan adaptive cruise control at the location. Additionally, the exampleinstructions also cause the vehicle to apply the action to the adaptivecruise control to change how the adaptive cruise control controls thevehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, reference may be made toembodiments shown in the following drawings. The components in thedrawings are not necessarily to scale and related elements may beomitted, or in some instances proportions may have been exaggerated, soas to emphasize and clearly illustrate the novel features describedherein. In addition, system components can be variously arranged, asknown in the art. Further, in the drawings, like reference numeralsdesignate corresponding parts throughout the several views.

FIG. 1 illustrates an example vehicle with adaptive cruise control inaccordance with the teachings of the disclosure.

FIG. 2 illustrates an example data structure to events associated withthe adaptive cruise control of FIG. 1.

FIG. 3 illustrates an example data structure to store actions to beimplemented by the adaptive cruise control of FIG. 1.

FIG. 4 illustrates an example interface to inform a driver of autonomousactions of the adaptive cruise control of FIG. 1.

FIG. 5 illustrates an example interface to facilitate a user enteringparameters into the adaptive cruise control of FIG. 1.

FIG. 6 illustrates example electronic components of the vehicle of FIG.1.

FIG. 7 is a flowchart of an example method to record user interactionswith and generate autonomous actions for the adaptive cruise control ofFIG. 1.

FIG. 8 is a flowchart of an example method to operate the adaptivecruise control of FIG. 1 based on user defined parameters.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While the invention may be embodied in various forms, there are shown inthe drawings, and will hereinafter be described, some exemplary andnon-limiting embodiments, with the understanding that the presentdisclosure is to be considered an exemplification of the invention andis not intended to limit the invention to the specific embodimentsillustrated.

Drivers interact with an adaptive cruise control system The adaptivecruise control receives commands from a driver including (a) activatingthe adaptive cruise control, (b) deactivating the adaptive cruisecontrol, and (c) resuming the adaptive cruise control. Additionally,drivers adjust the settings of the adaptive cruise control, such as adesired speed and gap distance. Traditionally, the driver frequentlymanually adjusts these commands and/or settings based on factors relatedto the road, such as traffic density, speed limit, weather, and/or roadcondition, etc. As disclosed herein below, the adaptive cruise controlof the present disclosure automatically adjusts the cruise control. Theadaptive cruise control adjusts the cruise control commands and/or thesettings based on (i) configurations of the settings in the pastassociated with a current geographic area of the vehicle, and/or (ii)rules defined by a user. In some examples disclosed herein below, if theconfiguration of the settings or the rules would cause the vehicle toincrease in speed, the adaptive cruise control system requests thedrivers to confirm the change before applying the configuration.

FIG. 1 illustrates an example vehicle 100 with adaptive cruise control102 and a cruise control adjuster 104 that operate in accordance withthe teachings of the disclosure. The vehicle 100 is any type of roadvehicle (e.g., cars, trucks, vans, sport utility vehicles, etc.). Thevehicle 100 may be a standard gasoline powered vehicle, a hybridvehicle, an electric vehicle, a fuel cell vehicle, or any other type ofsuitable vehicle. The vehicle 100 includes parts related to mobility,such as a powertrain with an engine, a transmission, a suspension, adriveshaft, and/or wheels, etc. The vehicle 100 may also includestandard features (not shown) such as a dashboard, adjustable seats, oneor more batteries, an HVAC system including a compressor and electronicexpansion valve, a windshield, doors, windows, seatbelts, airbags, andtires.

The vehicle 100 includes an infotainment head unit 106 and an on-boardcommunications platform 108. The infotainment head unit 106 provides aninterface between the vehicle 100 and a user (e.g., a driver, apassenger, etc.). The infotainment head unit 106 includes digital and/oranalog interfaces (e.g., input devices and output devices) to receiveinput from the user(s) and display information. The input devices mayinclude, for example, a control knob, an instrument panel, a digitalcamera for image capture and/or visual command recognition, a touchscreen, an audio input device (e.g., cabin microphone), buttons, or atouchpad. The output devices may include instrument cluster outputs(e.g., dials, lighting devices), actuators, a dashboard panel, aheads-up display, a center console display (e.g., a liquid crystaldisplay (“LCD”), an organic light emitting diode (“OLED”) display, aflat panel display, a solid state display, or a heads-up display),and/or speakers.

The on-board communications platform 108 includes wired or wirelessnetwork interfaces to enable communication with external networks. Theon-board communications platform 108 also includes hardware (e.g.,processors, memory, storage, antenna, etc.) and software to control thewired or wireless network interfaces. In the illustrated example, theon-board communications platform 108 includes a Bluetooth® controller110, a GPS receiver 112, and a cellular modem 114. The cellular modem114 includes controllers for one or more standards-based networks (e.g.,Global System for Mobile Communications (GSM), Universal MobileTelecommunications System (UMTS), Long Term Evolution (LTE), CodeDivision Multiple Access (CDMA), WiMAX (IEEE 802.16m); Near FieldCommunication (NFC), etc.). The on-board communications platform 108 mayalso include a wireless local area network module (including support forIEEE 802.11 a/b/g/n/ac or others; Wireless Gigabit (IEEE 802.11ad),etc.). Further, the external network(s) may be a public network, such asthe Internet; a private network, such as an intranet; or combinationsthereof, and may utilize a variety of networking protocols now availableor later developed including, but not limited to, TCP/IP-basednetworking protocols. The on-board communications platform 108 may alsoinclude a wired or wireless interface to enable direct communicationwith an electronic device 116 (such as, a smart phone, a tabletcomputer, a laptop, etc.).

When activated, the adaptive cruise control 102 controls the speed ofthe vehicle 100 in accordance with cruise control settings specified bya driver. The cruise control settings include speed and gap distance.The gap distance is the space between the vehicle 100 and anothervehicle in front of it. Often, gap distance is defined in term ofseconds. For example, a 1-second gap distance is the distance thevehicle 100 will travel in one second at its current speed. In such anexample, for a vehicle traveling at 70 miles per hour (mph), the1-second gap distance is 103 feet. The adaptive cruise control 102reacts to speed changes of the other vehicles in front of the vehicle100. For example, the driver may set the cruise control to travel at 65mph and have a 2-second gap distance. In such an example, when thevehicle 100 detects the other vehicle in front of it going slower, theadaptive cruise control 102 will slow the vehicle 100 to maintain the2-second gap distance. The adaptive cruise control 102 increases thespeed of the vehicle 100 up to the set speed when possible (e.g., canstill maintain the gap distances at the higher speed). The vehicle 100has range detection sensors 118 (such as ultrasonic sensors, RADAR,LiDAR, etc.) to detect the distance and speeds of other vehicles infront of the vehicle 100.

The vehicle 100 includes an adaptive cruise control interface thatfacilitates the driver controlling the adaptive cruise control 102. Theadaptive cruise control interface may be (a) located on a control armproximate the a steering wheel, (b) integrated into the steering wheel,and/or (c) integrated into a touch screen display of the infotainmenthead unit 106. The adaptive cruise control interface includes controlsthat facilitate the driver (i) activating the adaptive cruise control102, (ii) deactivating the adaptive cruise control 102, (iii) resumingthe adaptive cruise control 102, (iv) increasing the set speed, (v)decreasing the set speed, (vi) increasing the set gap distance, and(vii) decreasing the set gap distance. When the adaptive cruise control102 is activated, the speed is initially set to the current speed of thevehicle 100 and the gap distance is initially set to a default setting(e.g., a 2-second gap distance, etc.). After the adaptive cruise control102 is deactivated (e.g., by using the deactivation control, by applyinga brake pedal, etc.), the resume command restores the speed and the gapdistance settings of the adaptive cruise control 102 to the settingsimmediately before deactivation.

The cruise control adjuster 104 of the illustrated example records whena command is activated via the adaptive cruise control interface. Asillustrated in FIG. 2, the vehicle includes an adaptive cruise controlstate database 200 to store the actions recorded by cruise controladjuster 104. The cruise control adjuster 104 creates event records 202that include a current date field 204, a location field 206, an actionfield 208, setting field(s) 210, and an expiration date field 212.

The current date field 204 records the date on which the event record iscreated. The location field 206 records the location at which thecommand is input into the adaptive cruise control 102. In some examples,the location field 206 records coordinates (e.g., the latitude andlongitude) retrieved from the GPS receiver 112. In such some examples,the location field 206 also records the heading (e.g., the direction oftravel) retrieved from the GPS receiver 112. Alternately, in someexamples, the location field 206 may record a zone identifier thatidentifies zone in which the command was used. A manufacturer of thecruise control adjuster 104 or any other suitable entity may definezones on roads in which actions within the zone are considered to berelated. For example, a zone may encompass a one mile portion of a road.In some examples, a navigation system that uses the GPS receiver 112 maysupply zone identifiers to supply to the adaptive cruise control 102.

The action field 208 records the action (e.g. activation, deactivation,resume, speed increase, speed decrease, gap distance increase, gapdistance decrease, etc.). The setting field(s) 210 record(s) thesettings of the adaptive cruise control 102 in relation to the actionrecorded in the action field 208. For example, when the adaptive cruisecontrol 102 is activated, cruise control adjuster 104 may record a speedof 66 mph and a gap distance set of 2. The expiration date field 212records a date at which the event records 202 no longer consideredrelevant and are discarded. For example, the date in the expiration datefield 212 may be a year after the event is recorded. That is, in such anexample, the cruise control adjuster 104 may no longer consider eventrecords 202 from a year ago to be indicative of the driver's typical useof the adaptive cruise control 102.

Returning to FIG. 1, the cruise control adjuster 104, from time to time(e.g., daily, weekly, monthly, etc.) analyzes the event records 202stored in the adaptive cruise control state database 200. FIG. 3illustrates an adaptive cruise control action database 300 that storesadaptive cruise control (ACC) actions 302 generated by the cruisecontrol adjuster 104. The cruise control adjuster 104 generates the ACCactions 302 based on the event records 202 stored in the adaptive cruisecontrol state database 200. In the illustrated examples, the ACC actions302 include a location field 304, an action field 306, a settings field308, and a rules field 310. The location field 304 specifies thelocation (e.g., the coordinates, the heading, the zone, etc.) at whichthe ACC action 302 is to be implemented by the adaptive cruise control102. The action field 306 specifies which one of the actions theadaptive cruise control 102 is to implement. The settings field 308specifies, if applicable, what speed and/or gap distance the adaptivecruise control 102 is to implement. The rules field 310 includesuser-generated rules, if any, are associated with the ACC action 302.The user-generated rules provide circumstances in which to modify and/orignore the corresponding ACC action 302. The user-generated rulesprovide a conditional statement (e.g. a statement of which circumstancesin which to apply the user-generated rule) and an effect statement(e.g., how to modify the ACC action). For example, a user-generated rulemay state “slow 5 mph when rain.”

Returning to FIG. 1, the cruise control adjuster 104 instructs theadaptive cruise control 102 to adjust the current settings of theadaptive cruise control 102 based on past setting of the adaptive cruisecontrol 102 as specified by the ACC action 302. To generate the ACCactions 302, the cruise control adjuster 104 compares the event records202 that occurred at a same or similar location (as specified by thelocation field 206). The cruise control adjuster 104 generates the ACCaction 302 when an action (e.g., the action specified by the actionfield 208 of FIG. 2) has a minimum level of support. In some examples,the minimum level of support is three event records 202. For example, alocation defined as “Freeway 39 Mile Marker Five North” may beassociated with three event records 202 associated with the “activate”action in the action field 208. In such an example, the cruise controladjuster 104 may generate an ACC action 302 associated with the“activate” action. The ACC action 302 includes one or more settingsrelated to the settings (e.g., specified by the setting field(s) 210) ofthe corresponding event records 202. In some examples, the value(s) ofthe setting(s) are the average or mean values of the associatedsetting(s) of in the corresponding event records 202. For example, if afirst “activate” event record 202 has the settings of “Speed: 66 mph;Gap Distance: 2,” a second “activate” event record 202 has the settingsof “Speed: 61 mph; Gap Distance: 2,” and a third “activate” event record202 has the settings of “Speed: 63 mph; Gap Distance: 3,” the cruisecontrol adjuster 104 may generate a new ACC action 302 associated withthe “activate” command with the settings of “Speed: 63 mph; GapDistance: 2.”

As discussed below in connection with FIG. 5, the cruise controladjuster 104 provides an interface to facilitate a user viewing and/orediting the ACC actions 302. For example, an ACC action 302 may indicatethat the adaptive cruise control 102 is to be activated at a certainlocation with a speed setting of 63 mph. For such an example, theinterface may facilitate the user editing the speed setting of one ofthe ACC actions 302 from 63 mph to 65 mph. The interface alsofacilitates the user inputting user-generated rules that, whensatisfied, will change the settings of the adaptive cruise control 102.The cruise control adjuster 104 may provide rule templates and/or definesyntax to use when generating and interpreting the rules. For example,the user may define a rule so that the speed setting of the adaptivecruise control equals an offset of the speed limit. As another example,a user may define a rule that specifies a geographical area where thespeed setting of the adaptive cruise control is to have a specificvalue.

In some examples, the interface facilitates the user-generated used tobe associated with the ACC actions 302 (e.g., specified by the rulesfield 310). For example, a user-generated rule may state that the speedsetting of the ACC action 302 is to be reduced by 5 mph when it israining. In some examples, the cruise control adjuster 104 provides theinterface via a display of the infotainment head unit 106. Additionallyor alternatively, in some examples, the cruise control adjuster 104provides the interface via an application executing on the electronicdevice 116 connected to the vehicle 100 via the on-board communicationsplatform 108. In some examples, when the vehicle 100 is connected to anexternal network (via the on-board communications platform 108), thecruise control adjuster 104 uploads and/or downloads ACC actions 302between the vehicle 100 and a cloud provider (e.g., Amazon Web Services,Microsoft Azure, etc.) and provides the interface via an applicationhosted by the cloud provider.

The cruise control adjuster 104 monitors the location of the vehicle 100(via the GPS receiver 112). The cruise control adjuster 104 compares thecurrent location of the vehicle 100 to locations specified by theuser-generated rules and/or the ACC actions 302 stored in the adaptivecruise control action database 300. If the current location matches thelocation associated with one of the user-generated rules, the cruisecontrol adjuster 104 instructs the adaptive cruise control 102 to adjustthe speed and/or gap distance settings as specified by theuser-generated rule. If the current location matches the locationassociated with one of the ACC actions 302, the cruise control adjuster104 instructs the adaptive cruise control 102 to adjust the speed and/orgap distance settings as specified by the ACC action 302. If the currentlocation matches the location associated with one of the ACC actions 302and one or more of the user-generated rules, the cruise control adjuster104 modifies the ACC action 302 with the user-generated rule(s), andinstructs the adaptive cruise control 102 to adjust the speed and/or gapdistance settings. If implementing the ACC action 302 and/or theuser-generated rule(s) would result in the speed of the vehicle 100increasing, the cruise control adjuster 104 prompts the driver, via theinfotainment head unit 106, to confirm the change before instructing theadaptive cruise control 102 to change its settings. In some examples, ifimplementing the ACC action 302 and/or the user-generated rule(s) wouldresult in decreasing the gap distance of the vehicle 100, activating theadaptive cruise control 102, deactivating the adaptive cruise control102, or resuming the adaptive cruise control 102, the cruise controladjuster 104 prompts the driver, via the infotainment head unit 106, toconfirm the change before instructing the adaptive cruise control 102 tochange its settings. FIG. 4 illustrated an example interface 400 toprompt the driver to confirm the ACC action 302. The driver may confirmthe ACC action 302 via an input device, such as a touch screen and/or abutton on the steering wheel, etc.

In the illustrated example, the vehicle 100 is connected to an externalnetwork 120 (e.g., the Internet) via the on-board communicationsplatform 108. The vehicle 100 receives external information, such as thecurrent weather, road conditions, and/or traffic density near thevehicle 100, via the external network 120. The cruise control adjuster104 uses the information to determine whether to apply theuser-generated rules.

FIG. 5 illustrates an example interface 500 to facilitate a user editingACC actions 302 stored in the adaptive cruise control action database300 of FIG. 3. In the illustrated example, the interface 500 includes amap 502 and one or more ACC action viewers 504. The example map 502facilitates visual representations 506 of the locations associated withthe ACC actions 302 displayed by the ACC action viewers 504. In theillustrated example, the ACC action viewers 504 display the value of thelocation field 304, the corresponding event records 202, the value ofthe action field 306, the value(s) of the settings field 308, and theuser-generated rules 310 associated with the particular ACC action. Theinterface 500 provides commands 508 to facilitate the user changing theACC actions 302. For example, the user may edit an existing ACC action302 and/or may add a new ACC action 302. The cruise control adjuster 104may present the interface 500 to the user via the infotainment head unit106, an application executing on the electronic device 116 connected tothe vehicle 100 (e.g. via the Bluetooth® controller 110), and/or anapplication executing on the external network 120.

FIG. 6 illustrates example electronic components 600 of the vehicle 100of FIG. 1. The electronic components 600 include the on-boardcommunications platform 108, the infotainment head unit 106, an on-boardcomputing platform 602, example sensors 604, example ECUs 606, a firstvehicle data bus 608, and a second vehicle data bus 610.

The on-board computing platform 602 includes a processor or controller612, memory 614, and storage 616. In some examples, the on-boardcomputing platform is structured to include the cruise control adjuster104. Alternatively, the cruise control adjuster 104 is integrated intothe adaptive cruise control 102. The processor or controller 612 may beany suitable processing device or set of processing devices such as, butnot limited to: a microprocessor, a microcontroller-based platform, asuitable integrated circuit, one or more field programmable gate arrays(FPGAs) or one or more application-specific integrated circuits (ASICs).The memory 614 may be volatile memory (e.g., RAM, which can includenon-volatile RAM, magnetic RAM, ferroelectric RAM, and any othersuitable forms); non-volatile memory (e.g., disk memory, FLASH memory,EPROMs, EEPROMs, memristor-based non-volatile solid-state memory, etc.),unalterable memory (e.g., EPROMs), and read-only memory. In someexamples, the memory 614 includes multiple kinds of memory, particularlyvolatile memory and non-volatile memory. The storage 616 may include anyhigh-capacity storage device, such as a hard drive, and/or a solid statedrive. In some examples, the adaptive cruise control state database 200and/or the adaptive cruise control action database 300 are stored in thememory 614 and/or the storage 616.

The memory 614 and the storage 616 are a computer readable medium onwhich one or more sets of instructions, such as the software foroperating the methods of the present disclosure can be embedded. Theinstructions may embody one or more of the methods or logic as describedherein. In a particular embodiment, the instructions may residecompletely, or at least partially, within any one or more of the memory614 the computer readable medium, and/or within the processor 612 duringexecution of the instructions.

The terms “non-transitory computer-readable medium” and“computer-readable medium” should be understood to include a singlemedium or multiple media, such as a centralized or distributed database,and/or associated caches and servers that store one or more sets ofinstructions. The terms “non-transitory computer-readable medium” and“computer-readable medium” also include any tangible medium that iscapable of storing, encoding or carrying a set of instructions forexecution by a processor or that cause a system to perform any one ormore of the methods or operations disclosed herein. As used herein, theterm “computer readable medium” is expressly defined to include any typeof computer readable storage device and/or storage disk and to excludepropagating signals.

The sensors 604 may be arranged in and around the vehicle 100 in anysuitable fashion. In the illustrated example, the sensors 604 includethe range detection sensors 118 (e.g., the ultrasonic sensors, the RADARsensors, the LiDAR sensor, etc.). The ECUs 606 monitor and control thesystems of the vehicle 100. The ECUs 606 communicate and exchangeinformation via the first vehicle data bus 608. Additionally, the ECU(s)506 may communicate properties (such as, status of the ECU 606, sensorreadings, control state, error and diagnostic codes, etc.) to and/orreceive commands from the on-board computing platform 602. Some vehicles100 may have seventy or more ECUs 606 located in various locationsaround the vehicle 100 communicatively coupled by the first vehicle databus 608. The ECUs 606 (such adaptive cruise control 102, etc.) arediscrete sets of electronics that include their own circuit(s) (such asintegrated circuits, microprocessors, memory, storage, etc.) andfirmware, sensors, actuators, and/or mounting hardware.

The second vehicle data bus 610 communicatively couples the on-boardcommunications platform 108, the infotainment head unit 106, and theon-board computing platform 602. The second vehicle data bus 610 may bea Media Oriented Systems Transport (MOST) bus, an Ethernet bus, or acontroller area network flexible data (CAN-FD) bus (InternationalStandards Organization (ISO) 11898-7), etc. The first vehicle data bus608 communicatively couples the sensors 604, the ECUs 606, the on-boardcomputing platform 602, and other devices connected to the first vehicledata bus 608. In the illustrated examples, the first vehicle data bus608 is implemented in accordance with the controller area network (CAN)bus protocol as defined by International Standards Organization (ISO)11898-1. Alternatively, in some examples, the first vehicle data bus 608may be implemented as a MOST bus, an Ethernet bus, or a CAN-FD bus, etc.In some examples, the on-board computing platform 602 communicativelyisolates the second vehicle data bus 610 and the first vehicle data bus608 (e.g., via firewalls, message brokers, etc.). Alternatively, in someexamples, the second vehicle data bus 610 and the first vehicle data bus608 are the same data bus.

FIG. 7 is a flowchart of an example method of operating the cruisecontrol adjuster 104 to record events (e.g., the event records 202 ofFIG. 2) and to generate ACC actions 302. Initially, the cruise controladjuster 104 monitors the controls of the adaptive cruise control 102(block 702). The cruise control adjuster 104 determines when one of thecontrols (e.g., activate, deactivate, resume, increase gap distance,decrease gap distance, increase speed, decrease speed, etc.) isactivated (block 704). When one of the controls is activated, the cruisecontrol adjuster 104 generates an event record 202 based on the date,the location of the vehicle 100, the activated control, and the settingsdata (block 706). For example, the cruise control adjuster 104 maygenerate a event record 202 with “2/15/2016” in the current date field204, “FWY 39 MM 5 North” in the location field 206, “activate” in theaction field 208, “45 mph” and “2” in the setting fields 210, and“8/15/2017” in the expiration date field 212.

The cruise control adjuster 104 determines whether to create an ACCaction 302 (block 708). The cruise control adjuster 104 generates theACC action 302 if there is a minimum level of support for the commandspecified in the action field 208 at the location and, in some examples,the heading specified by the location field 206 in the adaptive cruisecontrol state database 200. In some examples, the minimum level ofsupport is three event records 202. In some examples, the cruise controladjuster 104 uses event records 202 associated with locations near(e.g., half a mile, a mile, two miles, etc.) the event record 202generated at block 706 with the same heading when determining thewhether there is the minimum level of support. If there is a minimumlevel of support, the cruise control adjuster 104 retrieves the eventrecords 202 identified at block 708 (block 710). The cruise controladjuster 104 generates a new ACC action 302 based on the event records202 retrieved at block 710 (block 712). The cruise control adjuster 104then continues to monitor the adaptive cruise control 102 (block 702).

FIG. 8 is a flowchart of an example method of operating the cruisecontrol adjuster 104 to control the adaptive cruise control 102 based onthe ACC actions 302 in the adaptive cruise control action database 300.Initially, the cruise control adjuster 104 monitors the location of thevehicle 100 (block 802). In some examples, to monitor the location andthe heading of the vehicle 100, the cruise control adjuster 104 iscommunicatively coupled to the GPS receiver 112 and/or a navigationsystem. The cruise control adjuster 104 determines whether the locationand the heading of the vehicle 100 is associated with one of the ACCactions 302 in the adaptive cruise control action database 300 (block804).

If the location and the heading of the vehicle 100 is associated withone of the ACC actions 302, the cruise control adjuster 104 determineswhether a user-generated rule is associated with the ACC action 302(block 806). For example, the ACC action 302 may have user-definedrule(s) specified in the rules field 310. If the user-generated rule(s)is/are associated with the ACC action 302, the cruise control adjuster104 determines whether the user-generated rule(s) is/are satisfied(block 808). For example, if the user generated rule states “slow 5 mphwhen rain,” the cruise control adjuster 104 determines if the weatherinformation indicates that it is raining. If one or more of theuser-generated rules is/are satisfied, the cruise control adjuster 104applies the satisfied user-generated rule(s) to the ACC action 302(block 810). For example, if the ACC action 302 specifies activating theadaptive cruise control 102 with a speed of 52 mph and a gap distance of2, applying the “slow 5 mph when rain” rule, the cruise control adjuster104 would modify the ACC action 302 to activate the adaptive cruisecontrol 102 with a speed of 47 mph and a gap distance of 2.

The cruise control adjuster 104 determines whether to notify the driver(block 812). The cruise control adjuster 104 determines to notify thedriver if the ACC action 302 increases the speed of the vehicle 100. Insome examples, the cruise control adjuster 104 determines to notify thedriver if the ACC action 302 decreases the gap distance of the vehicle100, activates the adaptive cruise control 102, and/or resumes theadaptive cruise control 102. For example, if the ACC action 302 is todecrease the speed of the vehicle 100, the cruise control adjuster 104may determine not to notify the driver. If the cruise control adjuster104 determines not to notify the driver, the cruise control adjuster 104instructs the adaptive cruise control 102 to implement the ACC action302 (block 814). For example, if the ACC action 302 is to increase thegap distance setting to 3, the cruise control adjuster 104 instructs theadaptive cruise control 102 increase its gap distance setting to 3.

If the cruise control adjuster 104 determines to notify the driver, thecruise control adjuster 104 presents an audio and/or visual confirmationmessage to the driver (block 816). In some examples, the cruise controladjuster 104 displays the confirmation message on a display of theinfotainment head unit 106 as illustrated in FIG. 4. The cruise controladjuster 104 determines whether the driver confirms the ACC action 302(block 818). In some examples, the cruise control adjuster 104determines whether the driver confirms the ACC action 302 based onreceiving an input (e.g., a button press, a touch screen press, a voicecommand, etc.) from the driver via the infotainment head unit 106 and/orthe steering column. If the cruise control adjuster 104 determines thatthe driver confirms the ACC action 302, the cruise control adjuster 104instructs the adaptive cruise control 102 to implement the ACC action302 (block 814). Otherwise, if the cruise control adjuster 104determines that the driver does not confirm the ACC action 302, thecruise control adjuster 104 continues to monitor the location and theheading of the vehicle 100 (block 802). If some examples, the cruisecontrol adjuster 104 determines that the driver does not confirm the ACCaction 302 after a period of time (e.g., 15 second, 30 seconds, etc.)and/or after traveling a certain distance (e.g., 1 mile, 2 miles, etc.).

The flowcharts of FIGS. 7 and 8 are representative of machine readableinstructions that comprise one or more programs that, when executed by aprocessor (such as the processor 612 of FIG. 6), cause the vehicle 100to implement the cruise control adjuster 104 of FIG. 1. Further,although the example programs are described with reference to theflowchart illustrated in FIGS. 7 and 8, many other methods ofimplementing the example cruise control adjuster 104 may alternativelybe used. For example, the order of execution of the blocks may bechanged, and/or some of the blocks described may be changed, eliminated,or combined.

In this application, the use of the disjunctive is intended to includethe conjunctive. The use of definite or indefinite articles is notintended to indicate cardinality. In particular, a reference to “the”object or “a” and “an” object is intended to denote also one of apossible plurality of such objects. Further, the conjunction “or” may beused to convey features that are simultaneously present instead ofmutually exclusive alternatives. In other words, the conjunction “or”should be understood to include “and/or”. The terms “includes,”“including,” and “include” are inclusive and have the same scope as“comprises,” “comprising,” and “comprise” respectively.

The above-described embodiments, and particularly any “preferred”embodiments, are possible examples of implementations and merely setforth for a clear understanding of the principles of the invention. Manyvariations and modifications may be made to the above-describedembodiment(s) without substantially departing from the spirit andprinciples of the techniques described herein. All modifications areintended to be included herein within the scope of this disclosure andprotected by the following claims.

The invention claimed is:
 1. A vehicle comprising: a GPS receiverconfigured to provide a location of the vehicle; a cruise controladjuster configured to, via a processor: store, in memory, manualchanges to settings of an adaptive cruise control by a driver within athreshold distance of the location, each of the manual changesassociated with a different date; delete the manual changes from thememory as the manual changes become older than a threshold expirationdate; generate a cruise control event associated with the location inresponse to detecting a threshold number of manual changes associatedwith the location within memory; receive input, via a touch screen ofthe vehicle, modifying the cruise control event with driver preferences;and subsequently, at the location, change the settings of the adaptivecruise control based on the cruise control event as modified by thedriver preferences.
 2. The vehicle of claim 1, wherein the manualchanges to settings of the adaptive cruise control include at least oneof activating the adaptive cruise control, deactivating the adaptivecruise control, resuming the adaptive cruise control, modifying a speedsetting of the adaptive cruise control, or modifying a gap distancesetting of the adaptive cruise control.
 3. The vehicle of claim 1,wherein the cruise control adjuster is configured to, when changing thesettings of the adaptive cruise control to one of activating theadaptive cruise control, resuming the adaptive cruise control,increasing a speed setting of the adaptive cruise control, or decreasinga gap distance setting of the adaptive cruise control, prompt the driverto confirm an action before changing the settings.
 4. The vehicle ofclaim 3, wherein the cruise control adjuster is configured to, inresponse to receiving an affirmative input from the driver, change thesettings of the adaptive cruise control.
 5. The vehicle of claim 3,wherein the cruise control adjuster is configured to, in response toreceiving a negative input from the driver, not change the settings ofthe adaptive cruise control.
 6. The vehicle of claim 1, wherein thecruise control adjuster is configured to provide, via a touch screen ofthe vehicle, a list of the cruise control events and associatedlocations.
 7. The vehicle of claim 1, wherein when the manual changes tothe settings of the adaptive cruise control include changes in a speedsetting of the adaptive cruise control, the cruise control adjuster isconfigured to generate the cruise control event based on an average ofthe changes in the speed setting.
 8. A method comprising: receiving,from a GPS receiver, a location of a vehicle; storing, in memory, manualchanges to settings of an adaptive cruise control by a driver within athreshold distance of the location, each of the manual changesassociated with a different date; deleting the manual changes from thememory as the manual changes become older than a threshold expirationdate; generating, with a processor, a cruise control event associatedwith the location in response to detecting a threshold number of manualchanges associated with the location within memory; receiving input, viaa touch screen of the vehicle, modifying the cruise control event withdriver preferences; and subsequently, at the location, changing thesettings of the adaptive cruise control based on the cruise controlevent as modified by the driver preferences.
 9. The method of claim 8,wherein the manual changes to settings of an adaptive cruise controlinclude at least one of activating the adaptive cruise control,deactivating the adaptive cruise control, resuming the adaptive cruisecontrol, modifying a speed setting of the adaptive cruise control, ormodifying a gap distance setting of the adaptive cruise control.
 10. Themethod of claim 8, including when changing the settings of the adaptivecruise control to one of activating the adaptive cruise control,resuming the adaptive cruise control, increasing a speed setting of theadaptive cruise control, or decreasing a gap distance setting of theadaptive cruise control, prompting the driver to confirm an actionbefore changing the settings.
 11. The method of claim 10, including inresponse to receiving an affirmative input from the driver, changing thesettings of the adaptive cruise control.
 12. The method of claim 10,including in response to receiving a negative input from the driver, notchanging the settings of the adaptive cruise control.
 13. The method ofclaim 8, including providing, via a touch screen of the vehicle, a listof the cruise control events and associated locations.
 14. The method ofclaim 8, including, when the manual changes to the settings of theadaptive cruise control include changes in a speed setting of theadaptive cruise control, generating the cruise control event based on anaverage of the changes in the speed setting.
 15. A vehicle comprising: aGPS receiver configured to provide a location of the vehicle; a cruisecontrol adjuster configured to, via a processor: generate a cruisecontrol event associated with the location in response to detecting athreshold number of manual changes to settings of an adaptive cruisecontrol by a driver within a threshold distance of the location, each ofthe manual changes associated with a different date; provide, via atouch screen of the vehicle, a list of the cruise control events andassociated locations; receive a selection, via the touch screen of thevehicle, of one of the cruise control events; receive an input, via thetouch screen of the vehicle, of a user-generated conditional ruleassociated with the selected one of the cruise control events, theconditional rule defining (a) a condition and (b) a modification to theselected one of the cruise control events; and subsequently, at thelocation, change the settings of the adaptive cruise control based onthe cruise control event as modified by the conditional rule when thecondition is true.